	
superApp.factory('UserService', ['$resource',
	/**
	 *
	 * @param $resource Servicio de AngularJS para crear clientes REST
	 * @returns {*} función que regresa los metodos de nuestro servicio
	 */
	function($resource){

		var factory = {			
			crud: $resource('http://api.esclinicadigital.dev/users/:userId', {
				userId: '@userId'
			}, {
				getAll: {
					method: 'GET', 
					isArray: true
				},
				save: {
					method:'POST'
				},
				show: { 
					method: 'GET',
					params: {
						userId: '@userId'
					},
					isArray: false
				},
				update: {
			    	method: 'PUT',
			    	params: {
			    		userId: '@userId'
			    	}
			    }
			}),
			validations : $resource('http://api.esclinicadigital.dev/users/validations/:methodName', {
				methodName: '@methodName'
			}, {
				checkUsernameExists: {
					method: 'GET',
					params: {
						methodName : 'checkUsernameExists',
						username   : '@username'
					}
				},
			})
		};

		return factory;
	}]
);